//++++++++++++++++++++++++++++++++++++++++
// 《Go Web编程实战派从入门到精通》源码
//++++++++++++++++++++++++++++++++++++++++
// Author:廖显东（ShirDon）
// Blog:https://www.shirdon.com/
// 仓库地址：https://gitee.com/shirdonl/goWebActualCombat
// 仓库地址：https://github.com/shirdonl/goWebActualCombat
//++++++++++++++++++++++++++++++++++++++++
package main

import (
	"fmt"
	"sync"
)

func main() {
	c := make(chan bool, 2)
	// m := make(map[string]string)
	var scene sync.Map
	go func() {
		// m["a"] = "1" // 第一个冲突访问.
		scene.Store("a", "1")
		c <- true
	}()
	// m["b"] = "2" // 第一个冲突访问
	scene.Store("b", "2")
	<-c
	// for k, v := range m {
	// 	fmt.Println(k, v)
	// }
	scene.Range(func(key, value interface{}) bool {
		fmt.Println(key, value)
		return true
	})
}
